/**
 * @param {number} n
 * @param {number[]} cost
 * @return {number}
 */
// 思路错了：没必要求出最大路径
var minIncrements = function(n, cost) {
    let ans = 0;
    for (let i = Math.floor(n / 2); i > 0; i--) { // 从最后一个非叶节点开始算
        ans += Math.abs(cost[i * 2 - 1] - cost[i * 2]); // 两个子节点变成一样的
        cost[i - 1] += Math.max(cost[i * 2 - 1], cost[i * 2]); // 累加路径和
    }
    return ans;
};